using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Abp.Domain.Values;

namespace HCD.ValueObjects
{
    public class IMSendMsgRequest : ValueObject
    {
        public string Content { get; }
        public string content_binary { get;  }
        public string Content_extra { get;  }
        public int content_media_type { get;  }
        public List<string> content_mentioned_targets { get;  }
        public int content_mentioned_type { get;  }
        public string content_push { get;  }
        public string content_push_data { get;  }
        public string content_remote_url { get;  }
        public string content_searchable { get;  }
        public int Content_type { get;  }
        public string From { get;  }
        public int line { get;  }
        public string Target { get;  }
        public int type { get;  }

        public IMSendMsgRequest([NotNull]string content,[NotNull]string contentExtra,int contentType,[NotNull]string from,[NotNull]string target)
        {
            Content = content;
            content_binary = "";
            Content_extra = contentExtra;
            content_media_type=0;
            content_mentioned_targets = new List<string>();
            content_mentioned_type=0;
            content_push="content_push";
            content_push_data= "content_push_data";
            content_remote_url= "";
            content_searchable="false";
            Content_type=contentType;
            From = from;
            line=2;
            Target = target;
            type=0;
        }

        protected override IEnumerable<object> GetAtomicValues()
        {
            yield return Content;
            yield return Content_extra;
            yield return Content_type;
            yield return From;
            yield return Target;
        }
    }
}
